5.3.3 APPX Application Design Manual

+ Chapter 1-1: Overview of Application Design
+ Chapter 1-2: Getting Started
+ Chapter 1-3: Data Dictionary
+ Chapter 1-4: Understanding Process Design
+ Chapter 1-5: Interprocess Communication
+ Chapter 1-6: Customizing Your Application
+ Chapter 1-7: The Documentation Facility
+ Chapter 1-8: Application Design Tools
+ Chapter 2-1: Data Dictionary Overview
+ Chapter 2-2: Data Dictionary Concepts
+ Chapter 2-3: Domains
+ Chapter 2-4: Files and Fields
+ Chapter 2-5: Work Fields
+ Chapter 3-1: Overview of APPX Processes
- Chapter 3-2: Getting Started
+ Chapter 3-3: Process Definition
+ Chapter 3-4: Menu Processes
+ Chapter 3-5: Job Processes
+ Chapter 3-6: Input Processes
+ Chapter 3-7: Output Processes
+ Chapter 3-8: Update Processes
+ Chapter 3-9: Query Processes
+ Chapter 3-10: Inquiry Processes
+ Chapter 3-11: Status Processes
+ Chapter 3-12: Subroutine Processes
+ Chapter 3-13: Table Processes
+ Chapter 3-14: Automatic and Optional Children
+ Chapter 3-15: Using the Image Editor
+ Chapter 3-16: Using GUI Features of the Image Editor
+ Chapter 3-17: Using Event Points
+ Chapter 4-1: ILF Integration
+ Chapter 4-2: True/False Status Indicators
+ Chapter 4-3: Specifying Statements
+ Chapter 4-4: The ILF Editor
+ Chapter 4-5: The Appx ILF Debugger
+ Chapter 4-6: ILF Keyword Reference
+ Chapter 4-7: Predefined Fields
+ Chapter 4-8: Runtime Subroutine's and Predefined Processes
+ Chapter 4-9: Appx Chart Director API

Chapter 3-2: Getting Started

EM Caching


Without explicit designer intervention, a related or detached process' executable module (EM) is automatically loaded into memory when the process begins, and automatically removed from memory when the process completes. A subprocess? EM remains in memory only as long as the parent process' EM remains in memory. You can override this automatic removal of the EM from memory with APPX's EM Caching capabilities.

EM caching refers to the technique whereby the EM for a non-active process is retained in memory. Thus, the use of EM caching enhances perceived performance by reducing the time that is required to begin a process. When entering sales orders, for example, a user accesses both an order header input process and an order line items input process. If the EM for the order header process is not cached, it has to be reloaded each time the line items for one order are completed and the user begins a new order. If the order header process is cached, its EM is already in memory when the user completes line item entry. Note that subprocesses are always cached for at least the duration of the subprocess family. Thus, in this example, the line item process is always cached during sales order entry.

EM caching is controlled through a Cache Priority specification for each process, and through Cache Level and Maximum Number of Cached EMs specifications that are defined in system administration for each user:

The cache priority (a number from 0 through 99) determines the likelihood that the EM for a specific process is retained in memory, relative to the EMs for other processes. A process with a cache priority of 0 is always discarded from memory when the process completes. A process with a cache priority of 99 has the highest priority; it is the most likely to be retained in memory after the process completes. (A subprocess assumes the cache priority of its parent process.)

The cache level is the user's 'automatic discard level'. In other words, any process that has a priority equal to or less than this number is never cached. The cache level ensures that low-priority EMs (determined relative to a specific user) do not consume space in memory.

The cache limit determines the maximum number of EMs for non-active processes that can be retained in memory at the same time. When this limit is reached, APPX does not prohibit a new EM from entering the cache, as long as its priority is greater than that of at least one EM already in the cache. The EM with the lowest priority (whether this EM is already in the cache or is attempting to enter the cache) is discarded.

As a result of this combination of process-level and user-level specifications, caching definitions are extremely flexible. They are both process-specific and user-specific. The same processes may be retained in memory for one user and not another. The same process run by the same user may be retained in memory during one session, and discarded from memory during another session, depending on the relative priorities of other processes that are executed during the session.

Refer to the System Management Manual for additional information on caching specifications.

Application Design Manual                                         "Powered by Appx Software"

288

©2006 By APPX Software, Inc. All Rights Reserved